package com.example.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 学生实体类
 */
@Data
@Schema(description = "学生实体")
public class Student {
    @Schema(description = "学生ID", example = "1")
    private Integer id;
    
    @Schema(description = "学生姓名", example = "张三")
    private String name;
    
    @Schema(description = "性别, 1: 男, 2: 女", example = "1")
    private Integer gender; // 1:男, 2:女
    
    @Schema(description = "出生日期", example = "2000-01-01")
    private LocalDate birthday;
    
    @Schema(description = "手机号", example = "13800138000")
    private String phone;
    
    @Schema(description = "身份证号", example = "123456789012345678")
    private String idCard;
    
    @Schema(description = "是否是大学生, 1:是, 0:否", example = "1")
    private Integer isCollege; // 1:是, 0:否
    
    @Schema(description = "地址", example = "北京市海淀区")
    private String address;
    
    @Schema(description = "学历, 1:初中, 2:高中, 3:大专, 4:本科, 5:硕士, 6:博士", example = "4")
    private Integer degree; // 1:初中, 2:高中, 3:大专, 4:本科, 5:硕士, 6:博士
    
    @Schema(description = "毕业日期", example = "2020-07-01")
    private LocalDate graduationDate;
    
    @Schema(description = "班级ID", example = "1")
    private Integer clazzId;
    
    @Schema(description = "违规次数", example = "2")
    private Integer violationCount;
    
    @Schema(description = "违规分数", example = "85")
    private Integer violationScore;
    
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    
    // 关联字段
    @Schema(description = "班级名称", example = "Java全栈1班")
    private String clazzName;
} 